﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Utilities;

namespace Geometry
{
   public class IdealVertex
   {
      ////////////////////////////////////////////////////////////////////////
      //
      public IdealVertex(UInt16 x, UInt16 y, float z)
      {
         x_ = x;
         y_ = y;
         z_ = z;
      }

      ////////////////////////////////////////////////////////////////////////
      //
      public IdealVertex inplaceAdd(IdealVertex v)
      {
         x_ += v.x_;
         y_ += v.y_;
         z_ += v.z_;
         return this;
      }

      ////////////////////////////////////////////////////////////////////////
      //
      public IdealVertex inplaceDiv(UInt16 divisor)
      {
         x_ /= divisor;
         y_ /= divisor;
         z_ /= divisor;
         return this;
      }

      ////////////////////////////////////////////////////////////////////////
      //
      public UInt16 x { get { return x_; } }
      public UInt16 y { get { return y_; } }
      public float z { get { return z_; } }

      ////////////////////////////////////////////////////////////////////////
      //
      public override string ToString()
      {
         return string.Format("({0}, {1}, {2})", x_, y_, z_);
      }

      ////////////////////////////////////////////////////////////////////////
      //
      private static Logger logger_ = new Logger();
      private UInt16 x_;
      private UInt16 y_;
      private float z_;
   }
}
